Adjunct processors are processors that are subordinate or alternate to the central processors of a processing environment. The interface to an adjunct processor is asynchronous, and queues are employed by the adjunct processor to communicate with the central processors. Requests are placed in a queue by one or more programs executing on one or more central processors, a tap is issued to indicate new work, the adjunct processor processes the requests and places replies in the queue, and the queue is monitored closely for the replies.
Today, difficulties exist in determining when requests have completed and replies are available. Currently, the mechanism used to determine the availability of a reply is to blindly issue a dequeue instruction by a program executing on a central processor. This instruction is issued without knowing whether or not a reply is indeed available to be retrieved from the specified queue. This is known as polling, and is typically initiated from an interval timer mechanism. Polling, however, can negatively affect throughput and some polling can be considered non-productive.